#if !defined( PARALOGY_TREEMAKER_H)
#define PARALOGY_TREEMAKER_H
#include <string>
#include "bcpp_tree.h"
//8888888888888888888888888888888888888888888888888888888888888888888888888888888888888888

//		bcpp_tree_maker

//________________________________________________________________________________________
//8888888888888888888888888888888888888888888888888888888888888888888888888888888888888888
struct bcpp_tree_maker
{
	bcpp_tree_maker(bcpp_tree::t_tree& t):tree(t){}
	bcpp_tree::t_tree& tree;
	void add_leaf(const std::string& name, unsigned leaf_index);
	void add_internal_node();
	void set_branch_len(double len);
	void reparent_to_grandparent();
	void finish();
	void add_sibling();
};
void bcpp_tree_maker::add_leaf(const std::string& name, unsigned leaf_index)
{
	tree.add_leaf(name, leaf_index);
}
void bcpp_tree_maker::add_internal_node()
{
	tree.add_internal_node();
}
void bcpp_tree_maker::set_branch_len(double len)
{
	tree.set_branch_len(len);
}
void bcpp_tree_maker::reparent_to_grandparent()
{
	tree.reparent_to_grandparent();
}
void bcpp_tree_maker::finish()
{
	tree.finish();
}
void bcpp_tree_maker::add_sibling()
{
}

//8888888888888888888888888888888888888888888888888888888888888888888888888888888888888888



#endif
